Data backup method and system

ABSTRACT

A disk array has storage regions provided to store the management information for each disk volume of the backup data, and an interface is provided through which the management information for each disk volume is read from and written in by an external computer so that the backup data of disk volumes can be associated with the management information. The management information includes backup creation date and time, and content identifier, and it is set from the external computer, and updated according to the operations such as restore and tape copy based on the command from the external computer.

The present application is a continuation of application Ser. No.10/650,858, filed Aug. 29, 2003, now U.S. Pat. No. 7,013,373 thecontents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention generally relates to methods for backup of datastored in a computer system, and particularly to a method for backup ofdata by using the data copying function of a disk array system and itsfunction to acquire frozen images of data (snapshot function), and to asystem using this method.

The computer system is now required to always make stable operation andto avoid the situations in which the computer system halts the servicebecause of accident or maintenance. In addition, even if a troubleoccurs on the computer system by any possibility, it is necessary tominimize the loss of data within the computer system, and to restore thesystem to its former state as soon as possible.

In the prior art, data-updating operation is regularly frozen(freezing), and at this time data is copied (backed up) onto a storagemedium such as inexpensive magnetic tape. Thus, if some data is lost bya fault, the data is recovered (restored) from the tape, thus full databeing kept safe. On the tape are stored not only the data and controlinformation necessary for the computer system, but also informationnecessary for the management for the data to be backed up by using partof the storage region of the tape.

This management information includes codes for identifying the datacontents and the dates on which the backup data was acquired as, forexample, described in “File Structure and Labeling of Magnetic Tapes forInformation Exchange”, 4^(th) Edition, Standard ECMA-13, December, 1985,pp. 7-19. The software (backup software) for controlling the backup andrestore processes usually manages the list (catalog) of the producedbackup data, and when the externally produced backup data is added andmanaged, it adds necessary information to the catalog by referring tothe management information recorded on the tape.

Recently, use of “on-line backup” has advanced. This on-line backup uses“data mirror function” or “snapshot function” to generate a backup image(snapshot) quickly so that data can be copied onto the tape while acomputer system is operating. The data mirror function duplicates dataon a plurality of storage regions (disk volumes) and freeze one of theregions as a snapshot of data according to need. The snapshot functionsaves, at the time of data update, the data to be updated before updateand provide a frozen image of the disk volume at a certain time pointwith both the current disk volume content and the before-update data.These functions are provided in the software on the computers or diskarrays.

The data mirror function is disclosed in, for example, U.S. Pat. No.5,845,295, and the snapshot function in, for example, U.S. Pat. No.5,649,152.

SUMMARY OF THE INVENTION

Since the cost of the disk drive has much been reduced in these years,the trend to store backup data on the disk drive has been strengthenedas compared with the case when it is stored on the tape. In the formercase, the backup data is generated by the data mirror function orsnapshot function within the disk array, and used as it is without beingcopied onto the tape, so that the backup and recovery operations can bespeeded up.

However, since the backup data produced by using the data mirrorfunction or the snapshot function is the frozen image of the data to bebacked up, it has only the same storage capacity as the data to bebacked up, or has no extra storage capacity for recording the backupmanagement information as on the tape media. If the storage capacity isexpanded for the management information, the address space of the regionin which the backup data is stored and which is recognized by thecomputer is changed enough to make it difficult to address the data.Therefore, it is difficult to move/copy the backup data that has dataand management information combined as backup data or associated witheach other.

Since the backup data produced by use of the data mirror function or thesnapshot function is supposed to use as it is in order that it is copiedonto the tape, but not transferred to other media, there is no need toassociate the backup data with the management information on the disk.Thus, the above problem is not caused, and any documents disclosed aboutthis problem are not found.

It is an object of the invention to provide a backup method capable ofrecording management information such as backup date in association withthe backup data stored on the disk volumes, and making the samemanagement as the backup data stored on the tape is managed, and asystem using this method.

The above problem can be solved by providing on the disk array theregions in which the management information for the backup is stored foreach disk volume and the interface through which the managementinformation of a particular disk volume is read and written from theexternal computer so that the data stored in the disk volumes can beused as the backup data.

When the data within the disk array are backed up, the backup program onthe computer orders the disk array to generate the snapshot of thedata-stored disk volumes. The disk array produces the snapshot of thedisk volumes by using the data mirror function or the snapshot function.The computer transmits the information about the backup program and suchinformation as backup date and time and content identifiers pertainingto the snapshot to the disk array. The disk array causes theseinformation to be recorded on the storage regions associated with thedisk volumes of the snapshot. The backup program also causes thesemanagement information to be recorded on the catalog of the backup data,so that the generated snapshot can be added to manage as the backupdata.

Thus, the backup data are stored in the storage regions within the diskarray, and the management information for the backup data are storedwithin the disk array in association with the storage regions of thebackup data. The management information includes the information aboutthe backed-up data, and the information about the regions in which thebackup data have been stored.

If the catalog that the backup program holds is lost, the managementinformation corresponding to the disk volume of the disk array is readout and used to reproduce the catalog. Also, if the disk array has thefunction to copy the disk volumes, it copies not only the data recordedon the disk volumes but also the management information incidental tothe disk volumes. By treating the data of the disk volumes and theaccompanying management information in association with each other, itis possible to manage the disk volumes in the same way as the tape ismanaged on which the data and management information are storedtogether.

Other objects, features and advantages of the invention will becomeapparent from the following description of the embodiments of theinvention taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example of the construction of thesystem to which the invention is applied.

FIGS. 2A and 2B show examples of the function of the backup program.

FIG. 3 shows an example of a port correspondence table.

FIG. 4 shows an example of a backup volume table.

FIG. 5 shows an example of a backup definition table.

FIG. 6 shows an example of a backup data table.

FIG. 7 shows an example of a volume management table.

FIG. 8 is a flowchart showing an example of the procedure for acquiringa copy-to-volume list.

FIG. 9 is a flowchart showing an example of the backup process that thebackup server makes.

FIG. 10 is a flowchart showing an example of the backup process that thebackup client makes.

FIG. 11 shows an example of the structure of volume information.

FIG. 12 is a flowchart showing an example of the volume restore processthat the backup client makes.

FIG. 13 is a flowchart showing an example of the file restore processthat the backup client makes.

FIG. 14 is a flowchart showing an example of the backup data deleteprocess that the backup client makes.

FIG. 15 is a flowchart showing an example of the procedure for acquiringthe backup volume list.

FIG. 16 is a flowchart showing an example of the tape copy process thatthe backup server makes.

FIG. 17 is a flowchart showing an example of the backup process that thebackup server makes.

FIG. 18 is a flowchart showing an example of the backup process that thebackup client makes.

FIG. 19 is a flowchart showing an example of the inter-volume data copyprocess that the disk array makes.

DESCRIPTION OF THE EMBODIMENTS

Embodiments of the invention will be described with reference to theaccompanying drawings.

According to the first embodiment of the invention, in a computer systemincluding a disk array that has the data mirror function and thefunction to record the backup information for each volume, and computersconnected to the disk array through a fiber channel network, the backupdata of a certain volume (hereafter, called primary volume) is stored ina mirror volume (that is the volume for storing the same data as in theprimary volume, and hereafter referred to as secondary volume) by thedata mirror function and backup information recording function that thedisk array has, and the data stored in the secondary volume are managedand copied onto the magnetic tape by a backup server.

(1) Construction of System

FIG. 1 shows the whole construction of this embodiment. The wholeconstruction of FIG. 1 has client computers 1, 1 a (hereafter,represented by reference numeral 1), a backup server 2 and disk arrays3, 3 a (hereafter, represented by reference numeral 3). The clientcomputer 1 and disk array 3 are connected through fiber channel (FC)cables 40˜44 (42 a˜44 a) to a fiber channel switch 6. The clientcomputer 1 reads/writes data from/in the disk volumes of the disk array3 through a fiber channel network (hereafter, referred to as fiberchannel network (FC network) 6) that is formed of the fiber channel (FC)cables 40˜44 and the fiber channel switch 6. The client computer 1, thebackup server 2 and the disk array 3 can be communicated with each otherthrough a local area network (LAN) 5. While the computer 1, 1 a and diskarray 3 are connected through the fiber channel network 6 in thisembodiment, the present invention does not depend on the communicationmedia and connection mode, but may be applied to a connection mode inwhich the fiber channel switch 6 is not used, communication media suchas SCSI or IP network other than the fiber channel and a structure usingprotocol. Also, while the client computer 1 is called client by contrastwith the backup server, it may be a normal server that makeswork-related operations.

The client computer 1 has a LAN interface (LAN I/F) 11 and a fiberchannel interface (FC I/F) 12 for the communication through the LAN 5and FC network 6. It also has a memory 13 for storing program and data,and a CPU 14 for execution of the program. The memory 13 has programssuch as an application program 15 and a backup client program 16previously stored therein. The application program 15 generates andutilizes the data stored within the disk array 3 that are to be backedup, so as to execute work-related processes.

FIG. 2A shows the functions of the backup client program 16. Thesefunctions are a copy-to-volume list acquisition 160, a data mirror 161,a volume/restore 162, a file/restore 163, a backup data deletion 164, asnapshot 165 and an Inquiry issue 166. Most of these functions areachieved in cooperation with a backup server program 24 and a disk arraycontrol program 36 which will be described later.

The client computer 1 has, though not shown, a correspondence table thatcorrelatively lists devices ID38, 38 a of disk array 3, 3 a and LANaddress for the communication with the disk array 3, 3 a, and thus itcan communicate with the disk array 3, 3 a of desired device ID38, 38 athrough LAN 5.

The client computer 1 also has, as shown, a port correspondence table 17and a restore port table 18 in which necessary information for backupprocess and restore process is stored. The port correspondence table 17has the information shown in FIG. 3 for each disk volume to be backedup. Referring to FIG. 3, the column of a mount point 171 shows the mountpoints of disk volumes, the column of a device file 172 shows the devicefiles of disk volumes, and the column of an FC port address (FC PortAddr.) 173 shows the fiber channel port addresses of a fiber channelinterface (FC I/F) 32 of the disk array 3 that are used when a diskvolume is accessed to. The column of a LUN 174 shows the Logical UnitNumbers (LUN) given to the disk volumes within the disk array 3. On therestore port table 18 are recorded the FC port addresses and LUN thatare previously determined in order that the backup data within the diskarray 3 can be accessed to.

The backup server 2 has a LAN interface (LAN I/F) 21, a memory 23 and aCPU 28. The backup server 2 is connected through a SCSI interface (SCSII/F) 22 to a tape library device 8.

The memory 23 has a backup server program 24 stored therein. FIG. 2Bshows the functions of the backup server program 24. These functionsinclude a data mirror 240, a restore 241, a backup data list acquisition242, a tape copy 243, and a snapshot 244 in addition to general backupfunctions (for example, file backup function). Most of these functionsare achieved in cooperation with the backup client program 16 and thedisk array control program 36 which will be described later. It also hasa user interface function for the user to be instructed from a backupmanager (system manager), though not shown in FIG. 1.

The memory 23 also has a backup volume table 25 that records the list ofvolumes in which the copy of data can be stored by using the data mirrorfunction of disk array 3, a backup definition table 26 that records thebackup sections defined by the user, and a backup data table 27 thatmanages the acquired backup data.

The backup volume table 25 has the structure shown in FIG. 4, and storesa host computer name 251 as the denomination of the client computer 1that uses the disk volumes to be backed up, its mount point 252, adevice ID253 of the disk array 3 that provides the disk volumes, avolume number list 254 of the disk volumes in which the copy of data isstored by the data mirror function.

The backup definition table 26 has the structure shown in FIG. 5. Thecolumn of host computer name 261 and mount point 262 show the names andmount points of the client computer 1 that uses the disk volumes to bebacked up. The column of backup classification 263 indicates whether thebackup data is stored or not in the secondary volume by using the datamirror function. If “disk backup” is indicated on this column, thebackup data is stored in the secondary volume by the data mirrorfunction. If “tape backup” is indicated on this column, backup processis made so that the data is stored on the magnetic tape. The backup tothe magnetic tape is performed by the conventional backup process, andthus will not be described. The column of backup destination 264indicates the device ID38 of the disk array 3 and the volume number ofthe secondary volume in which the backup data is stored when the backupclassification 263 shows the use of the data mirror function. If “tapebackup” is indicated on the column, the backup destination 264 shows theidentifier of the tape on which the data is stored. The columns ofpreprocess 265 and postprocess 266 show the processes that arerespectively to be executed before and after the backup process. Ifdatabase is backed up, the preprocess is executed as a program to orderthe database management program to stop the update of data before thebackup, and the postprocess is executed as a program to order thedatabase management program to resume the data update process after thebackup. Therefore, since data of the database is not updated during thebackup process, the data stored in the primary volume can be assuredlymatched with the backup data stored in the secondary volume. The columnof label 267 indicates the text for the backup manager to identify thebackup data. By storing the text for the content of data and theobjective of backup, it is possible to help the manager look for thebackup data with ease at the time of restoring. The column of schedule268 indicates the date and time at which the backup process is executed.If the schedule is set to a particular date and time or every day orevery week, the backup process is automatically executed at thepredetermined date and time.

The backup data table 27 has the structure shown in FIG. 6. The entriesin the table are performed for each backup data. The column of hostcomputer name 271 shows the name of the client computer 1 that usesbackup data. The column of mount point 272 indicates its mount point,and that of the backup classification 273 indicates whether the backupdata has been stored in the secondary volume by the data mirrorfunction. If the backup classification 273 indicates that the backupdata has been stored in the disk volume, the device ID38 of the diskarray 3 having that data is indicated by the device ID274, and thevolume number by the media ID275. When “tape backup” is specified, theidentifier of the magnetic tape drive 6 on which the backup data hasbeen stored, and the identifier of the media are indicated by the deviceID274 and media ID275, respectively. The column of label 276 shows thesame as the label 267 of the backup definition table 26, and the columnof time stamp 277 indicates the date and time at which the backup hasbeen achieved.

The disk array 3 has interfaces LAN I/F31 (31 a) and FC I/F32 (321, 322,and 32 a, 321 a, 322 a) for the communication through LAN 5 and FCnetwork 6. Each interface has its own number within the disk array inorder to identify each of a plurality of FC interfaces (FC I/F). Thedisk array 3 also has disk volumes 39, 390˜393 (that include 39 a, 390a˜393 a, and are represented by reference numeral 39) and a diskcontroller 34 for controlling data to be transferred to the disk volume39. The disk volume 39 is the storage region from/in which data isread/written through the FC network 6 according to the applicationprogram 15 of the client computer 1. These disk volumes are constructedwithin one or more disk drives. Each disk volume 39 has its own numberwithin the disk array, and is identified by its number.

The memory 35 has a disk array control program 36 for controlling theoperation of the disk array 3, a volume management table 37 for managingthe disk volumes 39 within the disk array 3, and device ID38. The diskarray control program 36 has the basic functions of disk array 3 such asthe assignment of ports and LAN to the disk volumes 39 and the datainput/output, and other functions such as volume management function 361for the reference/recording of management information of the numbers ofdisk volumes 39 and backup date and time, and a data mirror function 362for the data recorded in a particular volume to be copied into anothervolume. The disk control program 36 also has a function to return ananswer including the device ID38 in response to the Inquiry command sentfrom the computer through the FC network. These processes are executedby a CPU 33.

The data mirror function 362 is to copy the data of the copy sourcevolume (primary volume) into one or more copy destination volumes(secondary volumes) that have the same storage capacity as the primaryvolume. The access to the primary volume from the computer is acceptedeven during the copying operation, but when the data of the primaryvolume is updated, the data of the region to be updated is copied intothe second volume before the update operation. Thus, the content of thesecondary volume at the time of the completion of the copying operationis the same as that of the primary volume at the time of the start ofthe copying operation. The data mirror function 362 includes a functionto restore (recover) the content copied into the secondary volume sothat it can be stored back in the primary volume. The method ofachieving the data mirror function is described in, for example, U.S.Pat. No. 5,845,295 (pages 6 through 8, FIG. 3), and will not bedescribed in detail because it is different from the main subject ofthis invention.

The volume management table 37 has the structure shown in FIG. 7, andthe entry in this table is performed for each disk volume. The structureof the volume management table 37 has columns of a volume number 371, anFC interface number 372 assigned to the access to the disk volume, an FCport address 373, a LUN 374 assigned to the disk volume, a disk volumenumber 375 assigned to the mirror destination (copy destination) of thatvolume, and volume information 376 of backup information. The column ofmirror destination volume number 375 records the numbers of one and morevolumes to which data is copied, but no data when the data mirrorfunction is not used.

The device ID38 within the disk array 3 has its own identifier for eachdisk array device. When a plurality of disk arrays 3, 3 a are connectedto the FC network 6, those arrays are identified by devices ID38, 38 a.

(2) Definition of Backup Session

A description will be made of how to define the backup session forstoring the backup data in the secondary volume by use of the datamirror function in this embodiment.

In order to define the backup session of the disk volumes used by theclient computer 1, entries for backup definition are made in the backupdefinition table 26 of the backup server 2. The backup manager specifiesthe entries in the columns of host computer name 261, mount point 262,preprocess 265, postprocess 266, label 267 and schedule 268 of thebackup definition table shown in FIG. 5 through the user interface(though not shown, the terminal connected to the backup server 2). Themanager also specifies “disk backup” that indicates the backup using thedata mirror function on the column of backup classification 263 throughthe user interface, and specifies the volume number of the secondaryvolume in which the backup data is stored by use of the data mirrorfunction on the column of backup destination 264. The disk volume numberthat can be used as the destination to which the disk volume specifiedby the host computer name 261 and mount point 262 is copied by the datamirror function is selected from the volume number list 254 of which thenumbers are specified by the corresponding host computer name 251 andmount point 252 in the backup volume table 25 shown in FIG. 4. Theselection of volume number from the volume number list 254 of the backupvolume table 25 is made by supplying the content of the backup volumetable 25 to the terminal connected to the server 2 in response to theorder from the manager through the user interface.

When the backup volume table 25 has no corresponding entries in thecolumns of host computer name 251 and mount point 252, the backup serverprogram 24 orders the backup client program 16 of client computer 1specified by the host computer name through LAN 5 to acquire thecopy-to-volume list for the disk volume corresponding to the specifiedmount point. The operation of the backup client program 16 ordered toacquire will be described with reference to the flowchart of FIG. 8.

When the order to acquire the copy-to-volume list with the mount pointattached is received from the backup server 2 (step 1600), the programrefers to the port correspondence table 17, looking for the FC portaddress 173 and LUN174 of the disk volume corresponding to the specifiedmount point 171 (step 1601). If there is no corresponding mount point onthe port correspondence table 17 (step 1602), the program reports errorto the backup server 2 (step 1606). If there is the corresponding mountpoint on the port correspondence table 17, the program sends the Inquirycommand to the FC port address 173 and LUN174, thus acquiring the deviceID included in the response to the Inquiry. If the operating system ofthe client computer 1 supports the function to send the Inquiry commandby use of the device file, the Inquiry command can be transmitted by useof the device file 172. Since the client computer 1 has thecorrespondence table of the device ID and IP address of the disk arrayas described above, the IP address of disk array 3 can be obtained byreferring to the table at the device ID. The order to acquire thecopy-to-volume list with FC port address 173 and LUN174 attached istransmitted through LAN5 to the disk array 3 of the IP address (step1603).

The disk array control program 36 of disk array 3 ordered to acquirerefers to the volume management table 37, and sends to the clientcomputer 1 the copy destination volume number list 375 and device ID38of the disk volume of the FC port address 373 and LUN374 correspondingto the specified FC port address 173 and LUN174. If there is nospecified FC port address 173 and LUN174 on the volume management table37, the program reports error to the client computer 1.

When the backup client program 16 of the client computer 1 receives thereport of error (step 1604), it reports error to the backup server 2(step 1606). If the backup client program 16 receives the list of copydestination volume numbers, it sends the host computer name of clientcomputer 1 and the mount point and device ID sent from the backup server2 and the list of copy destination volume numbers to the backup server 2so that the backup server 2 can cause them to be stored as the newentries in the backup volume table 37 (step 1605). The backup serverprogram 24 records the received information on the backup volume table25.

(3) Acquisition of Backup Data Using Data Mirror Function

The process for acquiring the backup data by use of the data mirrorfunction 362 will be described with reference to the flowcharts of FIGS.9 and 10.

The backup server program 35 associated with the data mirror function240 shown in FIG. 9 is started to execute according to the schedule 268of the backup definition table 26 or to the instruction through the userinterface from the manager of backup. The program refers to the backupclassification 263 of the backup definition table 26 (step 2400). If theclassification is “disk backup”, the program makes backup process usingthe data mirror function 362. If not so, it makes backup process usingthe normal magnetic tape (step 2405). When the backup process isexecuted by use of the data mirror function 362, the program deletes theentries in the backup data table 27 having the device ID274 and mediaID275 (when the disk volume is used for storing the backup data, thevolume number is stored in the media ID275) that match the device ID andvolume number of the backup destination indicated by the backupdestination 264 of the backup definition table 26 (step 2401). Then, theprogram sends, together with the backup order, the mount point 262,backup destination 264, the contents of preprocess 265 and postprocess266, and the label 267 of backup data to the client computer 1 ofcomputer name 261 stored in the backup definition table 26 (step 2402).If the status sent back from the client computer 1 is successful (step2403), the program receives the volume information of backup data fromthe client computer 1, and records it on each item of the backup datatable 27 (step 2404).

The operation of the backup client program 16 will be described withreference to the flowchart of FIG. 10. When the program receives fromthe backup server program 24 the mount point 262 to be backed up, backupdestination 264, the contents of preprocess 265 and postprocess 266, thelabel 267 of backup data and the order to backup (step 1610), itperforms the specified preprocess 265 (step 1611). The program obtainsthe FC port address 173 and LUN174 of the mount point 171 correspondingto the mount point 262 specified by referring to the port correspondencetable 17, and sends the FC port address 173 and LUN174, the volumenumber of backup destination 264, and the order to copy by use of thedata mirror function 362 to the disk array 3 indicated by the device IDof the backup destination 264. The program waits for the report ofstatus from the disk array 3 (step 1612).

The disk array control program 36 of the disk array 3 that received theorder to copy by the data mirror function 362 refers to the volumemanagement table 37 so as to check if the volume number specified as thebackup destination is recorded or not in the copy destination volumenumber list of the FC port address 373 and LUN374 disk volumecorresponding to the FC port address 173 and LUN174 specified to bebacked up. If it is recorded, the content of the disk volume is copiedinto the disk volume of the specified number by the data mirror function362, and the successful status is sent back to the client computer 1. Ifit is not recorded, the failure status is sent back to the clientcomputer 1.

The backup client program 16, when the client computer 1 has receivedthat status, executes the specified postprocess 266 (step 1613). If thefailure status is sent back from the disk array 3 (step 1614), a statusof backup error is transmitted back to the backup server 2 (step 1617).If the successful status is sent back, the backup client programgenerates volume information 50 of the backup destination volume, andsends it together with the number of the backup destination volume andthe volume information record instruction to the disk array 3 (step1615).

The volume information is an arbitrary byte train, but in thisembodiment it takes a structure of 512 bytes shown in FIG. 11. Theformat ID501 is an identifier for identifying the format of the volumeinformation. The label 502 is the text sent as label 267 from the backupserver program 24.

The host 503 is the host name of the client computer 1. The mount point504 is the mount point of the backup source volume (primary volume) inwhich the backup source data is stored. The time stamp 505 is the timeat which the disk array 3 is instructed to make the backup by the datamirror function. The remaining blank region 506 is the reserved regionfor future expansion of the format.

The disk array control program 36 that has received the volumeinformation 50 records the volume information 50 in the entry of thespecified-number volume on the volume management table 37, and sendsback the recording-successful status.

The backup client program 16 transmits the backup-successful status andthe volume information 50 to the backup server (step 1616).

(4) Restore of Backup Data stored in Disk Volume

A description will be made of the process for restoring the backup datastored in the disk volume. The restore process is started when thebackup manager selects the restored backup data from the backup datatable 27 through the user interface of the backup server 2, and sends arestore command together with the preprocess and postprocess commands.If the backup classification 273 recorded in the backup data table 27 is“tape backup”, the process of restoring from the magnetic tape isexecuted. If it is “disk backup”, the restore process is carried out byusing the backup data within the disk volume.

The backup server program 24 sends a restore command includinginstructions of preprocess and postprocess that are accompanied by thevolume number stored as the mount point 272, device ID274 and mediaID275 to the client computer 1 of host computer name 271 recorded on thebackup data table 27.

The operation of the backup client program 16 will be described withreference to the flowchart of FIG. 12. When the program receives thecommand (step 1620), it executes the specified preprocess (step 1621).The preprocess is, for example, the process for unmounting the filesystem of the restore destination volume. Then, it refers to the portcorrespondence table 17, and sends to the disk array 3 the volumerestore command involving the FC port address 173, LUN174 of the diskvolume of the mount point 171 corresponding to the specified mount point272 and the number of the restore source volume (backup volume)(step1622).

The disk array control program 36 that received the command refers tothe volume management table 37, looking for the copy source volume(primary volume) corresponding to the disk volume of the specifiedvolume number. It copies data from the specified backup volume to theprimary volume, and sends back the successful status. If it fails forsome reason, it sends back the failure status.

If the program receives the failure status (step 1623), it sends areport of restore error to the backup server 2 (step 1626). If itreceives the successful status, it carries out the specified postprocess(step 1624), and sends a report of restore achievement to the backupserver 2 (step 1625). The postprocess is, for example, the check processor mount process for the file system of the restore destination volume.

The above operations show the flow of operations for restoring the diskvolume using the data mirror function 362 of the disk array 3. Somefiles of the volume contents are restored when the backup client program16 copies the files. In this case, the command to the backup clientprogram 16 involves the names of files that the manager has specified torestore. The flow of the processes of the backup client program will bedescribed with reference to the flowchart of FIG. 13.

When it receives a command from the backup server 2 (step 1630), itsends to the disk array the specified restore source volume (backupvolume) number, and the FC port address and LUN recorded on the restoreport table, thereby ordering the disk array to connect the restoresource volume to the specified port (step 1631).

The disk array control program 36 assigns the FC interface so that therestore source volume can be accessed to by use of the specified FC portaddress and LUN.

The backup client program 16 carries out the specified preprocess (step1632). In this preprocess, it makes inspection/repair (checking) of thefile system of the restore source volume (backup volume) if necessary,and mounts at the mount point specified in the content of thepreprocess. The backup client program 16 copies the specified file fromthe restore source to the mount point of the restore destination (step1633), and after the end of the copy, it executes the postprocess suchas unmounting of the restore source volume (step 1634). Also, it ordersthe disk array 3 to release the port from being assigned to the restoresource volume (step 1635), and sends a report of restore achievement tothe backup server 2 (step 1636).

(5) Delete of Backup Data

The delete of the backup data recorded in the disk volume is startedwhen the backup manager selects the desired backup data from the backupdata table 27 by using the user interface of the backup server 2, andorders to delete. The backup server program 24 sends to the clientcomputer 1 the delete command accompanied by the device ID274 and volumenumber (the volume number indicated by the media ID275 of backup datatable 27) of the disk array 3 in which the selected backup data isstored.

The operation of the backup client program 16 will be described withreference to the flowchart of FIG. 14. When receiving the command fromthe backup server 2 (step 1640), the backup client program 16 sends thevolume number and the delete command to the disk array 3 (step 1641).The disk array control program 36 refers to the volume management table37, and deletes the volume information of the specified volume number.Then, the backup server program 24 deletes the corresponding entries ofthe backup data table 27.

(6) Acquisition of List of Backup Data

When the disk array 3 having the backup data is newly added onto thecontrol of the backup server 2, it is necessary that the existing backupdata be added to the backup data table by referring to the volumeinformation of the volumes within the disk array 3 in which the backupdata are stored. The operation of the backup server program in that casewill be described with reference to the flowchart of FIG. 15.

The backup server program 24 within the backup server 2 orders the diskarray to acquire the list of volumes in order for the backup data to beadded to the backup data table 27 (step 2420). The disk array controlprogram 36 that has received the command sends the volume number listand device ID stored in the volume management table 37 back to thebackup server 2.

The backup server program 24 specifies the volume number of the returnedlist and orders the disk array 3 to acquire the volume information (step2421). The ordered disk array control program 36 refers to the volumemanagement table 37 and sends back the specified volume information. Thebackup server program 24 checks for the validity of the sent-back volumeinformation (step 2422). The validity is decided positive if the formatof the returned volume information coincides with the format shown inFIG. 11. The entries are created in the backup data table 27, and therespective items of the volume information are stored in those columns(step 2433). The processes beginning from the step 2421 are repeated forthe volumes in which the backup data are stored (step 2424).

(7) Copy of Backup Data to Tape

The backup server program 24 within the backup server 2 makes theprocess for the backup data stored in the disk volume within the diskarray 3 to be copied into the tape media of the tape library unit 8.This operation will be described with reference to the flowchart of FIG.16.

The backup server program 24 within the backup server 2 responds to theinput operation by the backup manager to specify the copy source volumein which the backup data is stored, and the copy destination tape (step2430). The backup server program 24 transmits a command to the clientcomputer 1 of the computer name 271 of the backup data table 27 (step2431). This command includes the instructions to specify the mount point272 of the primary volume of the specified backup data, the number ofthe volume to which the backup is made, and the mount point of thebackup volume, preprocess and post process including the mount process,and to perform data transfer. The backup client program 15, whenreceiving the command, reads data from the volume to which the backup ismade (copy source volume) and transfers the data to the backup serverthrough LAN according to the same procedure as in the restore processshown in FIG. 12. The backup server program 24 that has received thedata writes the data in the specified tape to which the data is backedup (step 2432). In this case, the program writes data in the tape towhich data is backed up after it has stored in the tape the managementinformation including the information stored in the backup data table27. Finally, it generates new entries in the backup data table 27, andrecords therein the device ID and media ID of the tape to which data iscopied. The other items are copied from the entries of the copy sourcevolume.

In addition to the above copy process, the backup data can be moved fromthe disk volume to the tape by deleting the above-mentioned backup datawithin the disk volume.

(8) Effect

According to this embodiment, the data of the disk volume can be backedup by use of the data mirror function of the disk array. In this case,the management information of the backup data can also be stored as theinformation incidental on the disk volume without altering the addressspace of the disk volume as seen from the backup client. In addition,the backup data within the volume and the management information can betreated in association with each other when the volume units or fileunits of the backup data recorded in the disk volume are restored,deleted or copied to the external media such as the magnetic tape.Moreover, the catalog of the backup data can be produced by using thevolume management information incidentally recorded in the disk volume.

While this embodiment uses the volume number assigned within the diskarray in order to identify the volume to which data is backed up, it mayuse other information than the volume number if the volume can beuniquely specified. Also, while the backup client program in thisembodiment separately transmits a command to copy the disk volume and acommand to store volume information to the disk array, it can transmitboth commands in a mass, and the disk array control program can decideif data is successfully copied, in which case the volume information canbe stored if it is successfully copied. In addition, while the volumemanagement table is recorded in the memory of the disk array in thisembodiment, it can be recorded in a storage region on the disk.

In the second embodiment, the disk array has a snapshot functionprovided in place of the data mirror function 362 used in the firstembodiment. The information about snapshot function is disclosed in, forexample, U.S. Pat. No. 5,649,152 (pages 6 through 7, in FIG. 2). Thewhole construction of this embodiment is the case in which the diskarray control program 36 in FIG. 1 has the snapshot function in parallelwith the data mirror function (the snapshot function is not shownbecause it would make the diagram complicated). Unlike the data mirrorfunction in which the identifier (volume number) of the volume to whichdata is copied (secondary volume) is previously selected, the snapshotfunction automatically assigns a volume number to a generated snapshot.The list of snapshot volume numbers is recorded in the volume managementtable 37 in place of the copy destination volume number list 375. When asnapshot volume is newly produced, an entry having an unused volumenumber is added to the volume management table 37, and the newly addedvolume number is recorded in the snapshot volume number list of thesnapshot source volume. The points different from the first embodimentwill be given below.

(1) Definition of Backup Session

This embodiment, since the backup source and the corresponding snapshotvolume are not previously determined, cannot produce the volume numberlist 254 of the backup volume table 25. When the backup classification263 of the backup definition table 26 is “disk backup”, the device ID38of the disk array 3 is stored in the backup destination 264, but thevolume number is not stored.

(2) Acquisition of Backup using Snapshot Function

The flow of backup process using the snapshot function will be describedwith reference to the flowcharts of FIGS. 17 and 18.

The processes of the backup server program 24 will be mentioned firstwith reference to FIG. 17. Since the snapshot is not overwritten on theexisting volume, the entry is not deleted (corresponding to the step2401 in FIG. 9) from the backup data table 27. The program refers to thebackup definition table 26 to acquire the device ID (included in thebackup destination 264) of the disk array 3 that generates the snapshot(step 2440). This ID is recorded in the backup data table 27 in step2443. The program orders the client 1 to backup by use of the snapshotaccompanied by the mount point 262 to be backed up, preprocess 265,postprocess 266 and the device ID included in the backup destination 264(step 2441). When the program orders to backup, it does not specify thebackup destination volume. If a successful status is sent back (step2442), the program receives the volume information and the volume numberof snapshot from the client 1, and records them in the backup data table27 (step 2443).

The operation of the backup client program 16 will be described withreference to the flowchart of FIG. 18. The operation of the program issubstantially the same as in FIG. 12. In step 1651, the program does notspecify the number of the backup destination volume, and in step 1653,it receives the volume number of the snapshot from the disk array. Instep 1657, the received volume number is sent to the backup server 2.

(3) Effect

This embodiment can achieve the same backup function as in the firstembodiment by use of the snapshot function of the disk array. Ingeneral, the snapshot function can hold a large number of snapshots witha smaller capacity required as compared with the data mirror functionthat copies volumes because only the difference information of eachsnapshot to the source data is recorded. Therefore, even whenmultigenerational backup data are acquired, there is no need to move thebackup data to the tape, and much backup data can be acquired at shortintervals.

The third embodiment has a function added to the first embodiment. Thisfunction is to copy the backup data stored in the disk volume to othervolumes within the same disk array or in volumes within a different diskarray.

(1) Structure of System

The whole structure of this embodiment is the case in which the diskarray control program 36 in FIG. 1 has a volume copy function inparallel with the data mirror function (the volume copy function is notshown because it would make the diagram complicated). The pointsdifferent from the first embodiment will be given below.

The volume copy function is to copy the content of a certain disk volumeinto another disk volume of the same disk array or a different diskarray, and to copy the volume information of the copy source into thevolume information of the copy destination volume. The different diskarray means that there is the disk array 3 a other than the disk array3.

In addition, the backup server program 24 has a function to order thedisk array to copy volumes through LAN.

(2) Copy of Backup Data between Disk Volumes

The flow of processes for copying backup data between disk volumes willbe described. The manager selects the copy source backup data from thebackup data table 27, and specifies the copy destination volume. Thecopy destination volume is specified by the volume number. When the diskarray of the copy destination is different from that of the copy source,the manager specifies the LAN address of the disk array that has thecopy destination volume, and the assigned port address of the FCinterface and LUN of the disk volume. These information specified by themanager are transmitted together with the volume copy command to thedisk array 3 that has the copy source volume by the volume copyinstruction function of the backup server program 24.

The operation of the disk array control program 36 that has received thecommand will be described with reference to the flowchart of FIG. 19.When receiving the command (step 3640), the program checks to see if thecommand contains the port address and LUN, and if the copy destinationvolume exists within the same disk array (step 3641).

When data is copied to a different disk array, the program writes thecontent of the copy source volume in the volume of the specified portaddress and LUN through the fiber channel network (step 3642). Thisprocess is carried out by, for example, issuing a WRITE command of SCSIfrom any FC interface. Then, the program goes to step 3644.

When data is copied within the same disk array, data is copied betweenthe specified disk volumes (step 3643).

If data is failed to copy for some reason (step 3644), a copy-errorstatus is sent back to the backup server (step 3649). If data issuccessfully copied, and if data is copied to a different disk array(step 3645), the program refers to the volume management table 37 toacquire the volume information of the copy source volume, specifies thecopy destination volume number, sends it to the copy destination diskarray, orders to record the volume information (step 3646), and goes tostep 3648,

When data is copied within the same disk array, the volume informationof the copy source volume is copied into the volume information of thecopy destination volume in the volume management table 37 (step 3647).

Finally, the successful status is sent back to the backup server (step3648). The backup server program 24, when receiving the successfulstatus from the disk array 3, adds the entry of copy destination volumeto the backup data table.

(3) Effect

According to this embodiment, the backup data stored in the disk volumecan be copied into another volume of the same disk array or differentdisk array. Thus, the portability of backup data can be provided withoutcopying data on tape.

It will be clear from the above embodiments that, if the backup data andits management information are stored in association with each otherwithin the disk array, it is possible to avoid the situation in whichthe matching relation according to the replacement of the server cannotbe maintained when the backup data is stored in the disk array and whenits management information is stored in the server, or to prevent thebackup data from being unavailable.

Thus, according to the invention, the backup data stored in the diskvolume by use of the data mirror function or snapshot function of thedisk array can be managed in association with the management informationof the backup data in the same way as the backup data stored on thetape.

It should be further understood by those skilled in the art thatalthough the foregoing description has been made on embodiments of theinvention, the invention is not limited thereto and various changes andmodifications may be made without departing from the spirit of theinvention and the scope of the appended claims.

1. A disk array for use in a computer system having a computer and saiddisk array comprising: a plurality of storage regions used by saidcomputer as an external storage; and a processor which executes a diskarray control program causing the disk array to perform the steps of:receiving from said computer a backup command accompanied by informationabout a first storage region having stored therein data to be backed upwithin said disk array and information about a second storage regioninto which said data to be backed up is to be stored as backup datawithin said disk array, backing up said data of said first storageregion into said second storage region in response to said backupcommand, receiving from said computer at least said information aboutsaid second storage region and information about backup of said firststorage region, storing at least said information about said secondstorage region and said information about backup of said first storageregion sent as above into a storage region different from said secondstorage region within said disk array so that both said information canbe stored as management information for said backup data, and to beassociated with said backup data, and responding to an order from saidcomputer to acquire a list of backup destinations accompanied by saidinformation about said first storage region by sending to said computersaid list of backup destinations information about storage regionsavailable as a backup data region for said first storage region, andreceiving from said computer said information about said second storageregion determined based on said list of backup destinations.
 2. A diskarray for use in a computer system having a computer and said disk arraycomprising: a plurality of storage regions used by said computer as anexternal storage; and a processor which executes a disk array controlprogram causing the disk array to perform the steps of: receiving fromsaid computer a backup command accompanied by information about a firststorage region having stored therein data to be backed up within saiddisk array and information about a second storage region into which saiddata to be backed up is to be stored as backup data within said diskarray, backing up said data of said first storage region into saidsecond storage region in response to said backup command, receiving fromsaid computer at least said information about said second storage regionand information about backup of said first storage region, storing atleast said information about said second storage region and saidinformation about backup of said first storage region sent as above intoa storage region different from said second storage region within saiddisk array so that both said information can be stored as managementinformation for said backup data, and to be associated with said backupdata, and responding to an order from said computer to acquire saidinformation about said backup stored in said different storage region,accompanied by information about said different storage region, bysending to said computer said information about said backup stored insaid different storage region, wherein said computer stores saidreceived information about said backup.
 3. A disk array for use in acomputer system having a computer and said disk array comprising: aplurality of storage regions used by said computer as an externalstorage; and a processor which executes a disk array control programcausing the disk array to perform the steps of: receiving from saidcomputer a backup command accompanied by information about a firststorage region having stored therein data to be backed up within saiddisk array and information about a second storage region into which saiddata to be backed up is to be stored as backup data within said diskarray, backing up said data of said first storage region into saidsecond storage region in response to said backup command, receiving fromsaid computer at least said information about said second storage regionand information about backup of said first storage region, storing atleast said information about said second storage region and saidinformation about backup of said first storage region sent as above intoa storage region different from said second storage region within saiddisk array so that both said information can be stored as managementinformation for said backup data, and to be associated with said backupdata, receiving from said computer a command to copy said backup dataaccompanied by information about a third storage region within a diskarray different from said disk array, transmitting said data of saidsecond storage region, said information about said third storage regionand said management information to said different disk array in responseto said command, and storing said data of said second storage regionreceived in said third storage region, and said management informationreceived in a storage region different from said third storage regionwithin said different disk array by said different disk array based onsaid information about said third storage region so that said managementinformation received can be stored in association with said data storedin said third storage region.